1. Field of the Invention
The present invention relates in general to computers, and more particularly to a method, system, and computer program product for optimizing automated system-managed storage (SMS) operations in a computing storage environment.
2. Description of the Related Art
The majority of businesses in the world today use computers and computer operating systems to store and manage information. Typically, such information is stored and managed in interconnected storage systems. Because such systems may be complex, involving many interconnected storage devices, communication paths, and the like, such systems generally require management functionality performed by such devices as storage controllers. To further automate and simplify the storage, management, and retrieval of information, so-called “system-managed storage” allows the operating system (OS) operable in such storage environments to facilitate many storage management tasks that were previously manually performed by personnel such as system administrators.
A storage environment without system-managed storage is analogous to an airport without air traffic controllers. Allocations and deletions of storage resources occur with little or no control, on whichever storage unit (such as a volume) the person performing the allocation happens to choose. Some volumes may be highly utilized in terms of both space and performance while others are sitting idle. In a storage environment, a collision can be said to occur when a data set allocation fails because there is no space on the volume on which the allocation was attempted.
System-managed storage addresses this problem by placing device selection under the control of the system. The system does this using a policy established by the storage administrator who defines a volume pooling structure made up of storage groups. The storage administrator also writes straightforward automatic class selection (ACS) routines that define which data sets can be allocated in which storage groups. Using these ACS routines, the storage administrator can allow the system to control as much or as little allocation of storage groups as desired.
When a new allocation occurs, the system uses the ACS routines to determine a set of storage groups in which the data set is eligible to be allocated. The system then considers criteria such as space and performance to select the specific volume or volumes on which to perform the allocation. This can help reduce the number of out of space abends, reduce device fragmentation, balance allocations across a pool of devices, and improve storage utilization.